package com.rental.houses.service;

import com.rental.common.result.AjaxResult;
import com.rental.model.entity.house.RentalHourse;
import com.baomidou.mybatisplus.extension.service.IService;
import com.rental.model.form.hourse.InsertRentalHourseForm;
import com.rental.model.form.hourse.RentalHourseForm;
import com.rental.model.vo.PageVo;

import java.util.List;

/**
 * <p
 *  服务类
 * </p>
 *
 * @author author
 * @since 2025-01-16
 */
public interface IRentalHourseService extends IService<RentalHourse> {

    AjaxResult<List<RentalHourse>> getRentalHourseList();

    AjaxResult<PageVo<RentalHourse>> getRentalHourseListBySearch(RentalHourseForm rentalHourseForm);

    AjaxResult<RentalHourse> getRentalHourseDetail(Long id,Long uid);

    AjaxResult<Boolean> insertRentalHourse(InsertRentalHourseForm insertRentalHourseForm);

    AjaxResult<String> getLandlordWechat(Long id, Long uid);

    AjaxResult<String> getLandlordPhone(Long id, Long uid);

    AjaxResult<List<RentalHourse>> getRentalHourseListByUid(Long uid);

    AjaxResult<Boolean> changeStatus(Long id, Long uid);

    AjaxResult<Boolean> collectHouse(Long id, Long uid);

    AjaxResult<Boolean> cancelCollectHouse(Long id, Long uid);

    AjaxResult<Long> getValidRentalHourseCount();

    AjaxResult<RentalHourse> getRentalHoursePage(Long id, Integer state);

    AjaxResult<Boolean> accusation(Long id);
}
